var time = new Date().valueOf();
threads.start(function () {
    //在新线程执行的代码
    while (true) {
        click("去登录")
        click("同意")
        sleep(2000)
        if (id("detail_download_button").findOne(100)) {
            log("找到下载按钮")
            var 安装 = id("detail_download_button").findOne(2000)
            if (安装) {
                安装.click()
                sleep(2000)
                back()
                launch("com.android.mediacenter")
            }
        }
    }

}
)
//console.show();
sleep(1000)
//console.setSize(device.width, device.height / 5);
var 免费领会员 = "413348785930936320";
var 领听书会员 = "430741117919600640";
var 免费领花币p50 = "445898259152543744";
var intent = new Intent();
intent.setAction("android.settings.APPLICATION_SETTINGS");

自动下载(领听书会员, "领听书会员");
领听书会员抽奖();
自动下载(免费领花币p50, "免费领花币p50");
免费领花币抽奖p50();
// 自动下载(免费领会员, "免费领会员");
// 免费领会员抽奖();

threads.shutDownAll()
function 自动下载(活动名, 活动中文名) {
    操作app("停止", "华为音乐")
    操作app("清除", "华为音乐")
    重置广告标识符();

    打开抽奖页面(活动名, "下载", 活动中文名);


}


function 打开抽奖页面(活动名, 操作, 活动中文名) {
    console.log(活动中文名);
    sleep(1000);

    sleep(1000);
    app.startActivity({
        action: "android.intent.action.VIEW",
        data: "hwmediacenter://com.android.mediacenter/showH5?pver=121000000&portal=hwmusic&from=com.huawei.musicplatform.campaignh5&needback=0&channelid=1&url=https://campaign-music.hicloud.com/camp/" + 活动名 + "/index.html#/home?operator=8&needback=true&shared=true",
        packageName: "com.android.mediacenter"
    });
    sleep(1000)
    //console.log(活动中文名 + "结束");
    sleep(1000)
    if (操作 == "下载") {
        下载app(活动名);
    }
}



function 重置广告标识符() {
    sleep(1000);
    app.startActivity({
        action: "android.intent.action.VIEW",
        data: "hwpps://oaid_setting",
        packageName: "com.huawei.hwid"
    });
    sleep(1000)
    click("重置广告标识符");
    sleep(1000);
    click("重置");
    sleep(3000);
}
function 下载app(活动名) {
    log("进入到下载app")
    sleep(30000)
    var maxNum = 5;
    if (活动名 == "413348785930936320") {
        maxNum = 10;
    }
    var 抽奖次数 = textContains("次抽中大奖").findOne(6000);
    log(抽奖次数)
    if (抽奖次数 == null) {
        if (textContains("下载体验").find().length > 0) {
            textContains("下载体验").findOne(1000).click();
            sleep(2000)
            click("去登录")
        }

        if (textContains("下载安装").find().length > 0) {
            textContains("下载安装").findOne(1000).click();
            sleep(2000)
            click("去登录")
        }
    }
    sleep(5000)
    抽奖次数 = textContains("次抽中大奖").findOne(6000);
    sleep(3000)
    if (抽奖次数) {
        抽奖次数 = 抽奖次数.text().split("有")[1].split("次")[0]
        抽奖次数 = 抽奖次数 * 1
        log("已有抽奖数为-" + 抽奖次数);
        if (抽奖次数 < maxNum) {
            if (!(抽奖次数 == maxNum && textContains("每天限").findOne(3000))) {
                log("等待下载app")
                sleep(5000)
                var 下载体验 = textContains("下载体验").find();//获取下载体验集合
                var 下载安装 = textContains("下载安装").find();

                var count = 下载体验.length + 下载安装.length;
                log("下载体验个数为--" + count);
                if (count > 0) {
                    //如果(总数-已下载 )>=可下载 -》 全下载。。(总数-已下载 )<可下载 -》 下载(总数-已下载 )
                    var surplusCount = maxNum - 抽奖次数;
                    log("剩余抽奖次数为--" + surplusCount);
                    if (textContains("下载体验").find().length > 0) {
                        if (surplusCount >= count) {
                            surplusCount = count;
                            textContains("下载体验").find().click();
                        } else {
                            for (let i = 0; i < surplusCount; i++) {
                                log("点击下载体验--", i)
                                textContains("下载体验").findOne(1000).click();
                                sleep(1000)
                            }
                        }
                    }

                    if (textContains("下载安装").find().length > 0) {
                        if (surplusCount >= count) {
                            surplusCount = count;
                            textContains("下载安装").find().click();
                        } else {
                            for (let i = 0; i < surplusCount; i++) {
                                log("点击下载安装--", i)
                                textContains("下载安装").findOne(1000).click();
                                sleep(1000)
                            }
                        }
                    }
                    log("等待app下载完成");

                    //var 打开 = textContains("打开").find();
                    var 打开抽奖 = textContains("打开抽奖").find();
                    var 去薅羊毛 = textContains("去薅羊毛").find();
                    var countAll = 打开抽奖.length + 去薅羊毛.length;
                    log("需要打开的总数量", countAll);
                    //判断下载完成数量f
                    var time1 = new Date().valueOf()
                    while (countAll <= surplusCount) {
                        var time2 = new Date().valueOf()
                        log("等待所有app下载完成");
                        sleep(10000);
                        if (time2 - time1 > 480000) {
                            break;
                        }
                        if (textContains("下载VIP专属歌曲").findOne(100) || textContains("今日5次下载机会用完").findOne(100)) {
                            break
                        }
                        //是否存在下载失败
                        var 下载失败 = textContains("下载失败").find();
                        // 打开 = textContains("打开").find();
                        打开抽奖 = textContains("打开抽奖").find();
                        去薅羊毛 = textContains("去薅羊毛").find();
                        countAll = 打开抽奖.length + 去薅羊毛.length;
                        log("已安装数量" + countAll);
                        if (下载失败.empty) {
                            var num = countAll + 下载失败.length;
                            log("已下载的总数num--", num)
                            log("需要的总数surplusCount--", surplusCount)
                            if (num == surplusCount) {
                                break;
                            }
                        }
                    }
                    if (!textContains("下载VIP专属歌曲").findOne(100)) {
                        log("******************************")

                        while (textContains("去薅羊毛").find().length > 0) {
                            textContains("去薅羊毛").find().click();
                        }
                        while (textContains("打开抽奖").find().length > 0) {
                            textContains("打开抽奖").find().click();
                        }
                        sleep(2000);
                        home();
                        sleep(10000);
                        卸载app();

                        if (抽奖次数 * 1 + countAll * 1 < maxNum) {
                            自动下载(活动名)
                        }
                    }

                } else {
                    log("下载列表为空或抽奖次数已满");
                    // 自动下载(活动名)
                    return
                }
            }
        }
    } else {
        自动下载(活动名)
    }

}








function 点击文字(文字) {
    sleep(1000);
    var 点击的文字 = textContains(文字).findOne(5000);
    if (点击的文字) {
        var x = 点击的文字.bounds().centerX();
        var y = 点击的文字.bounds().centerY();
        sleep(1000);
        click(x, y);
        console.log("已点击" + 文字);
    } else {
        console.log("未发现" + 文字);
    }

}


function 免费领会员抽奖() {
    操作app("停止", "华为音乐")
    打开抽奖页面(免费领会员, "抽奖", "免费领会员");
    log("已打开领会员")
    sleep(30000)
    click(534, 1283);
    textContains("每天限").waitFor();
    sleep(10000);
    click(358, 1333);
    while (1) {
        if (textContains("还有0次抽中大奖的机会").exists()) {
            sleep(3000);
            break;
        }
        click(533, 1283);
        sleep(1000);
        click(542, 1516);
        click(542, 1434);
    }

}

function 领听书会员抽奖() {
    操作app("停止", "华为音乐")
    打开抽奖页面(领听书会员, "抽奖", "领听书会员");
    log("已打开听书")
    sleep(30000)
    click(540, 1448);
    textContains("每天限").waitFor();
    sleep(5000);
    while (1) {
        if (textContains("还有0次抽中大奖的机会").exists()) {
            sleep(3000);
            break;
        }
        click(540, 1448);
        sleep(1000);
        click(557, 1568);
    }

}




function 免费领花币抽奖p50() {
    操作app("停止", "华为音乐")
    打开抽奖页面(免费领花币p50, "抽奖", "免费领花币p50");
    log("已打开p50")
    sleep(30000)
    click(534, 1530);
    textContains("每天限").waitFor();
    log("已找到每天限")
    sleep(30000);
    swipe(900, 900, 500, 500, 300)
    log("上滑找抽奖按钮")
    sleep(1000)
    while (1) {
        if (textContains("还有0次抽中大奖的机会").exists()) {
            log("没有抽奖机会结束抽奖")
            sleep(3000);
            break;
        }
        click(534, 1530);
        log("点击抽奖")
    }

}

function 操作app(操作, app名称) {
    var 包名 = getPackageName(app名称);
    if (!包名) {
        if (app名称 == "华为音乐") {
            包名 = getPackageName("音乐")
        }
    }
    log(包名)
    switch (操作) {
        case "启动":
            shell('am start ' + 包名, true);
            sleep(10000)
            break;
        case "清除":
            操作app("停止", "设置")
            log("停止设置完成")
            openAppSetting(包名);
            点击文字("存储");
            点击文字("删除数据");
            点击文字("确定");
            sleep(10000)
            break;
        case "卸载":
            shell('pm uninstall ' + 包名, true);
            sleep(10000)
            break;
        case "停止":
            shell('am force-stop ' + 包名, true);
            sleep(10000)
            break;
        default:
            log("默认")
    }
}





function 卸载app() {
    //sleep(30000);
    log("开始卸载");
    var pm = context.getPackageManager()
    var appList = pm.getInstalledApplications(0)

    for (let i = 0; i < appList.size(); i++) {
        var app_ = appList.get(i)
        var appInfo = {
            appName: app_.loadLabel(pm),
            packageName: app_.packageName,
            isSystemApp: app_.isSystemApp(),
            lastUpdateTime: pm.getPackageInfo(app_.packageName, 0).lastUpdateTime
        }
        if (appInfo.lastUpdateTime > time) {
            console.log(appInfo.appName + "卸载中");

            操作app("卸载", appInfo.appName)
        }
    }



    sleep(15000);
    log("卸载完成");

}


操作app("停止", "华为音乐")